#region Copyright
/// <copyright>
/// Copyright (c) 2007 Ilia Shramko.
/// Released under the terms of the GNU General Public License.
/// </copyright>
#endregion

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;

namespace Osh.Media
{
	public interface IMediaPlayer : IServiceRegistryProvider
	{
		string Name { get; }
		bool IsRunning { get; }

		PlayerState State { get; }

		IMedia CurrentMedia { get; }
		ITimeline Timeline { get; }

		void PlayMedia(IMedia media);
		void Play();
		void Pause();
		void Stop();

		event EventHandler Start;
		event EventHandler Exit;
		event EventHandler StateChange;
		event EventHandler<MediaChangeArgs> MediaChange;
		event EventHandler<MediaStreamChangeArgs> MediaStreamChange;
	}
}
